<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>draw_nurbs_interp [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_graphics.html">图形</a> / <a href="toc_graphics_drawing.html">Drawing</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">draw_nurbs_interp</span><span data-if="c" style="display:none;">T_draw_nurbs_interp</span><span data-if="cpp" style="display:none;">DrawNurbsInterp</span><span data-if="dotnet" style="display:none;">DrawNurbsInterp</span><span data-if="python" style="display:none;">draw_nurbs_interp</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">draw_nurbs_interp</span><span data-if="c" style="display:none;">T_draw_nurbs_interp</span><span data-if="cpp" style="display:none;">DrawNurbsInterp</span><span data-if="dotnet" style="display:none;">DrawNurbsInterp</span><span data-if="python" style="display:none;">draw_nurbs_interp</span></code> — Interactive drawing of a NURBS curve using interpolation.</p>
<h2>警告</h2>
<p><b>This operator does not work in an HDevelop graphics window opened with
<code>dev_open_window</code>.</b></p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>draw_nurbs_interp</b>( : <a href="#ContOut"><i>ContOut</i></a> : <a href="#WindowHandle"><i>WindowHandle</i></a>, <a href="#Rotate"><i>Rotate</i></a>, <a href="#Move"><i>Move</i></a>, <a href="#Scale"><i>Scale</i></a>, <a href="#KeepRatio"><i>KeepRatio</i></a>, <a href="#Degree"><i>Degree</i></a> : <a href="#ControlRows"><i>ControlRows</i></a>, <a href="#ControlCols"><i>ControlCols</i></a>, <a href="#Knots"><i>Knots</i></a>, <a href="#Rows"><i>Rows</i></a>, <a href="#Cols"><i>Cols</i></a>, <a href="#Tangents"><i>Tangents</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_draw_nurbs_interp</b>(Hobject* <a href="#ContOut"><i>ContOut</i></a>, const Htuple <a href="#WindowHandle"><i>WindowHandle</i></a>, const Htuple <a href="#Rotate"><i>Rotate</i></a>, const Htuple <a href="#Move"><i>Move</i></a>, const Htuple <a href="#Scale"><i>Scale</i></a>, const Htuple <a href="#KeepRatio"><i>KeepRatio</i></a>, const Htuple <a href="#Degree"><i>Degree</i></a>, Htuple* <a href="#ControlRows"><i>ControlRows</i></a>, Htuple* <a href="#ControlCols"><i>ControlCols</i></a>, Htuple* <a href="#Knots"><i>Knots</i></a>, Htuple* <a href="#Rows"><i>Rows</i></a>, Htuple* <a href="#Cols"><i>Cols</i></a>, Htuple* <a href="#Tangents"><i>Tangents</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>DrawNurbsInterp</b>(HObject* <a href="#ContOut"><i>ContOut</i></a>, const HTuple&amp; <a href="#WindowHandle"><i>WindowHandle</i></a>, const HTuple&amp; <a href="#Rotate"><i>Rotate</i></a>, const HTuple&amp; <a href="#Move"><i>Move</i></a>, const HTuple&amp; <a href="#Scale"><i>Scale</i></a>, const HTuple&amp; <a href="#KeepRatio"><i>KeepRatio</i></a>, const HTuple&amp; <a href="#Degree"><i>Degree</i></a>, HTuple* <a href="#ControlRows"><i>ControlRows</i></a>, HTuple* <a href="#ControlCols"><i>ControlCols</i></a>, HTuple* <a href="#Knots"><i>Knots</i></a>, HTuple* <a href="#Rows"><i>Rows</i></a>, HTuple* <a href="#Cols"><i>Cols</i></a>, HTuple* <a href="#Tangents"><i>Tangents</i></a>)</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>::<b>DrawNurbsInterp</b>(const HWindow&amp; <a href="#WindowHandle"><i>WindowHandle</i></a>, const HString&amp; <a href="#Rotate"><i>Rotate</i></a>, const HString&amp; <a href="#Move"><i>Move</i></a>, const HString&amp; <a href="#Scale"><i>Scale</i></a>, const HString&amp; <a href="#KeepRatio"><i>KeepRatio</i></a>, Hlong <a href="#Degree"><i>Degree</i></a>, HTuple* <a href="#ControlRows"><i>ControlRows</i></a>, HTuple* <a href="#ControlCols"><i>ControlCols</i></a>, HTuple* <a href="#Knots"><i>Knots</i></a>, HTuple* <a href="#Rows"><i>Rows</i></a>, HTuple* <a href="#Cols"><i>Cols</i></a>, HTuple* <a href="#Tangents"><i>Tangents</i></a>)</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>::<b>DrawNurbsInterp</b>(const HWindow&amp; <a href="#WindowHandle"><i>WindowHandle</i></a>, const char* <a href="#Rotate"><i>Rotate</i></a>, const char* <a href="#Move"><i>Move</i></a>, const char* <a href="#Scale"><i>Scale</i></a>, const char* <a href="#KeepRatio"><i>KeepRatio</i></a>, Hlong <a href="#Degree"><i>Degree</i></a>, HTuple* <a href="#ControlRows"><i>ControlRows</i></a>, HTuple* <a href="#ControlCols"><i>ControlCols</i></a>, HTuple* <a href="#Knots"><i>Knots</i></a>, HTuple* <a href="#Rows"><i>Rows</i></a>, HTuple* <a href="#Cols"><i>Cols</i></a>, HTuple* <a href="#Tangents"><i>Tangents</i></a>)</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>::<b>DrawNurbsInterp</b>(const HWindow&amp; <a href="#WindowHandle"><i>WindowHandle</i></a>, const wchar_t* <a href="#Rotate"><i>Rotate</i></a>, const wchar_t* <a href="#Move"><i>Move</i></a>, const wchar_t* <a href="#Scale"><i>Scale</i></a>, const wchar_t* <a href="#KeepRatio"><i>KeepRatio</i></a>, Hlong <a href="#Degree"><i>Degree</i></a>, HTuple* <a href="#ControlRows"><i>ControlRows</i></a>, HTuple* <a href="#ControlCols"><i>ControlCols</i></a>, HTuple* <a href="#Knots"><i>Knots</i></a>, HTuple* <a href="#Rows"><i>Rows</i></a>, HTuple* <a href="#Cols"><i>Cols</i></a>, HTuple* <a href="#Tangents"><i>Tangents</i></a>)  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HWindow.html">HWindow</a>::<b>DrawNurbsInterp</b>(const HString&amp; <a href="#Rotate"><i>Rotate</i></a>, const HString&amp; <a href="#Move"><i>Move</i></a>, const HString&amp; <a href="#Scale"><i>Scale</i></a>, const HString&amp; <a href="#KeepRatio"><i>KeepRatio</i></a>, Hlong <a href="#Degree"><i>Degree</i></a>, HTuple* <a href="#ControlRows"><i>ControlRows</i></a>, HTuple* <a href="#ControlCols"><i>ControlCols</i></a>, HTuple* <a href="#Knots"><i>Knots</i></a>, HTuple* <a href="#Rows"><i>Rows</i></a>, HTuple* <a href="#Cols"><i>Cols</i></a>, HTuple* <a href="#Tangents"><i>Tangents</i></a>) const</code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HWindow.html">HWindow</a>::<b>DrawNurbsInterp</b>(const char* <a href="#Rotate"><i>Rotate</i></a>, const char* <a href="#Move"><i>Move</i></a>, const char* <a href="#Scale"><i>Scale</i></a>, const char* <a href="#KeepRatio"><i>KeepRatio</i></a>, Hlong <a href="#Degree"><i>Degree</i></a>, HTuple* <a href="#ControlRows"><i>ControlRows</i></a>, HTuple* <a href="#ControlCols"><i>ControlCols</i></a>, HTuple* <a href="#Knots"><i>Knots</i></a>, HTuple* <a href="#Rows"><i>Rows</i></a>, HTuple* <a href="#Cols"><i>Cols</i></a>, HTuple* <a href="#Tangents"><i>Tangents</i></a>) const</code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HWindow.html">HWindow</a>::<b>DrawNurbsInterp</b>(const wchar_t* <a href="#Rotate"><i>Rotate</i></a>, const wchar_t* <a href="#Move"><i>Move</i></a>, const wchar_t* <a href="#Scale"><i>Scale</i></a>, const wchar_t* <a href="#KeepRatio"><i>KeepRatio</i></a>, Hlong <a href="#Degree"><i>Degree</i></a>, HTuple* <a href="#ControlRows"><i>ControlRows</i></a>, HTuple* <a href="#ControlCols"><i>ControlCols</i></a>, HTuple* <a href="#Knots"><i>Knots</i></a>, HTuple* <a href="#Rows"><i>Rows</i></a>, HTuple* <a href="#Cols"><i>Cols</i></a>, HTuple* <a href="#Tangents"><i>Tangents</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>DrawNurbsInterp</b>(out <a href="HObject.html">HObject</a> <a href="#ContOut"><i>contOut</i></a>, <a href="HTuple.html">HTuple</a> <a href="#WindowHandle"><i>windowHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Rotate"><i>rotate</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Move"><i>move</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Scale"><i>scale</i></a>, <a href="HTuple.html">HTuple</a> <a href="#KeepRatio"><i>keepRatio</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Degree"><i>degree</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ControlRows"><i>controlRows</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ControlCols"><i>controlCols</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Knots"><i>knots</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Rows"><i>rows</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Cols"><i>cols</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Tangents"><i>tangents</i></a>)</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>.<b>DrawNurbsInterp</b>(<a href="HWindow.html">HWindow</a> <a href="#WindowHandle"><i>windowHandle</i></a>, string <a href="#Rotate"><i>rotate</i></a>, string <a href="#Move"><i>move</i></a>, string <a href="#Scale"><i>scale</i></a>, string <a href="#KeepRatio"><i>keepRatio</i></a>, int <a href="#Degree"><i>degree</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ControlRows"><i>controlRows</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ControlCols"><i>controlCols</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Knots"><i>knots</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Rows"><i>rows</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Cols"><i>cols</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Tangents"><i>tangents</i></a>)</code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HWindow.html">HWindow</a>.<b>DrawNurbsInterp</b>(string <a href="#Rotate"><i>rotate</i></a>, string <a href="#Move"><i>move</i></a>, string <a href="#Scale"><i>scale</i></a>, string <a href="#KeepRatio"><i>keepRatio</i></a>, int <a href="#Degree"><i>degree</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ControlRows"><i>controlRows</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ControlCols"><i>controlCols</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Knots"><i>knots</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Rows"><i>rows</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Cols"><i>cols</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Tangents"><i>tangents</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>draw_nurbs_interp</b>(<a href="#WindowHandle"><i>window_handle</i></a>: HHandle, <a href="#Rotate"><i>rotate</i></a>: str, <a href="#Move"><i>move</i></a>: str, <a href="#Scale"><i>scale</i></a>: str, <a href="#KeepRatio"><i>keep_ratio</i></a>: str, <a href="#Degree"><i>degree</i></a>: int) -&gt; Tuple[HObject, Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">draw_nurbs_interp</span><span data-if="c" style="display:none">draw_nurbs_interp</span><span data-if="cpp" style="display:none">DrawNurbsInterp</span><span data-if="com" style="display:none">DrawNurbsInterp</span><span data-if="dotnet" style="display:none">DrawNurbsInterp</span><span data-if="python" style="display:none">draw_nurbs_interp</span></code> returns the contour <a href="#ContOut"><i><code><span data-if="hdevelop" style="display:inline">ContOut</span><span data-if="c" style="display:none">ContOut</span><span data-if="cpp" style="display:none">ContOut</span><span data-if="com" style="display:none">ContOut</span><span data-if="dotnet" style="display:none">contOut</span><span data-if="python" style="display:none">cont_out</span></code></i></a> of a
NURBS curve of degree <a href="#Degree"><i><code><span data-if="hdevelop" style="display:inline">Degree</span><span data-if="c" style="display:none">Degree</span><span data-if="cpp" style="display:none">Degree</span><span data-if="com" style="display:none">Degree</span><span data-if="dotnet" style="display:none">degree</span><span data-if="python" style="display:none">degree</span></code></i></a>, which has been created
interactively by the user in the window <a href="#WindowHandle"><i><code><span data-if="hdevelop" style="display:inline">WindowHandle</span><span data-if="c" style="display:none">WindowHandle</span><span data-if="cpp" style="display:none">WindowHandle</span><span data-if="com" style="display:none">WindowHandle</span><span data-if="dotnet" style="display:none">windowHandle</span><span data-if="python" style="display:none">window_handle</span></code></i></a> using
interpolation. That means, that the user specifies a set of points and
该算子 computes the parameters of a NURBS curve that includes
this points. By contrast, using 该算子 <a href="draw_nurbs.html"><code><span data-if="hdevelop" style="display:inline">draw_nurbs</span><span data-if="c" style="display:none">draw_nurbs</span><span data-if="cpp" style="display:none">DrawNurbs</span><span data-if="com" style="display:none">DrawNurbs</span><span data-if="dotnet" style="display:none">DrawNurbs</span><span data-if="python" style="display:none">draw_nurbs</span></code></a> it is
possible to create a NURBS curve by drawing its control polygon.
</p>
<p>In addition to <a href="#ContOut"><i><code><span data-if="hdevelop" style="display:inline">ContOut</span><span data-if="c" style="display:none">ContOut</span><span data-if="cpp" style="display:none">ContOut</span><span data-if="com" style="display:none">ContOut</span><span data-if="dotnet" style="display:none">contOut</span><span data-if="python" style="display:none">cont_out</span></code></i></a>, the control information of the curve
(<a href="#ControlRows"><i><code><span data-if="hdevelop" style="display:inline">ControlRows</span><span data-if="c" style="display:none">ControlRows</span><span data-if="cpp" style="display:none">ControlRows</span><span data-if="com" style="display:none">ControlRows</span><span data-if="dotnet" style="display:none">controlRows</span><span data-if="python" style="display:none">control_rows</span></code></i></a>, <a href="#ControlCols"><i><code><span data-if="hdevelop" style="display:inline">ControlCols</span><span data-if="c" style="display:none">ControlCols</span><span data-if="cpp" style="display:none">ControlCols</span><span data-if="com" style="display:none">ControlCols</span><span data-if="dotnet" style="display:none">controlCols</span><span data-if="python" style="display:none">control_cols</span></code></i></a>, and <a href="#Knots"><i><code><span data-if="hdevelop" style="display:inline">Knots</span><span data-if="c" style="display:none">Knots</span><span data-if="cpp" style="display:none">Knots</span><span data-if="com" style="display:none">Knots</span><span data-if="dotnet" style="display:none">knots</span><span data-if="python" style="display:none">knots</span></code></i></a>), the
interpolation points (<a href="#Rows"><i><code><span data-if="hdevelop" style="display:inline">Rows</span><span data-if="c" style="display:none">Rows</span><span data-if="cpp" style="display:none">Rows</span><span data-if="com" style="display:none">Rows</span><span data-if="dotnet" style="display:none">rows</span><span data-if="python" style="display:none">rows</span></code></i></a>, <a href="#Cols"><i><code><span data-if="hdevelop" style="display:inline">Cols</span><span data-if="c" style="display:none">Cols</span><span data-if="cpp" style="display:none">Cols</span><span data-if="com" style="display:none">Cols</span><span data-if="dotnet" style="display:none">cols</span><span data-if="python" style="display:none">cols</span></code></i></a>) specified by the user
and the tangents at the first and the last point (<a href="#Tangents"><i><code><span data-if="hdevelop" style="display:inline">Tangents</span><span data-if="c" style="display:none">Tangents</span><span data-if="cpp" style="display:none">Tangents</span><span data-if="com" style="display:none">Tangents</span><span data-if="dotnet" style="display:none">tangents</span><span data-if="python" style="display:none">tangents</span></code></i></a>) are
returned. <a href="#Tangents"><i><code><span data-if="hdevelop" style="display:inline">Tangents</span><span data-if="c" style="display:none">Tangents</span><span data-if="cpp" style="display:none">Tangents</span><span data-if="com" style="display:none">Tangents</span><span data-if="dotnet" style="display:none">tangents</span><span data-if="python" style="display:none">tangents</span></code></i></a> consists of four values. The first two
values correspond to the y (row) and the x (column) value of the tangent at
the start of the curve and the second two values to the tangent at the end of
the curve, respectively.
</p>
<p>The weight vector is not returned because it consists of
equal entries. As a consequence, one can use <i><span data-if="hdevelop" style="display:inline">'auto'</span><span data-if="c" style="display:none">"auto"</span><span data-if="cpp" style="display:none">"auto"</span><span data-if="com" style="display:none">"auto"</span><span data-if="dotnet" style="display:none">"auto"</span><span data-if="python" style="display:none">"auto"</span></i> as weight vector
if the control information is used in a subsequent call to 该算子
<a href="gen_contour_nurbs_xld.html"><code><span data-if="hdevelop" style="display:inline">gen_contour_nurbs_xld</span><span data-if="c" style="display:none">gen_contour_nurbs_xld</span><span data-if="cpp" style="display:none">GenContourNurbsXld</span><span data-if="com" style="display:none">GenContourNurbsXld</span><span data-if="dotnet" style="display:none">GenContourNurbsXld</span><span data-if="python" style="display:none">gen_contour_nurbs_xld</span></code></a>. For more information on NURBS see the
documentation of <a href="gen_contour_nurbs_xld.html"><code><span data-if="hdevelop" style="display:inline">gen_contour_nurbs_xld</span><span data-if="c" style="display:none">gen_contour_nurbs_xld</span><span data-if="cpp" style="display:none">GenContourNurbsXld</span><span data-if="com" style="display:none">GenContourNurbsXld</span><span data-if="dotnet" style="display:none">GenContourNurbsXld</span><span data-if="python" style="display:none">gen_contour_nurbs_xld</span></code></a>.
</p>
<p>Directly after calling <code><span data-if="hdevelop" style="display:inline">draw_nurbs_interp</span><span data-if="c" style="display:none">draw_nurbs_interp</span><span data-if="cpp" style="display:none">DrawNurbsInterp</span><span data-if="com" style="display:none">DrawNurbsInterp</span><span data-if="dotnet" style="display:none">DrawNurbsInterp</span><span data-if="python" style="display:none">draw_nurbs_interp</span></code>, you can add interpolation
points by clicking with the left mouse button in the window at the desired
positions. If enough points are specified (at least <a href="#Degree"><i><code><span data-if="hdevelop" style="display:inline">Degree</span><span data-if="c" style="display:none">Degree</span><span data-if="cpp" style="display:none">Degree</span><span data-if="com" style="display:none">Degree</span><span data-if="dotnet" style="display:none">degree</span><span data-if="python" style="display:none">degree</span></code></i></a>-1),
a NURBS curve that goes through all specified points (in the
order of their generation) is computed and displayed.
</p>
<p>When there are three points or more, the first and the last point will be
marked with an additional square. By clicking on them
you can close the curve or open it again. You delete the point appended last
by pressing the Ctrl key.
</p>
<p>The tangents (i.e. the first derivative of the curve) of the first
and the last point are displayed as lines. They can be modified by dragging
their ends using the mouse.
</p>
<p>Existing points can be moved by dragging them with the mouse. Further
new points on the curve can be inserted by a left click on the desired
position on the curve.
</p>
<p>By pressing the Shift key, you can switch into the transformation mode.
In this mode you can rotate, move, and scale the curve as a whole, but only
if you set the parameters <a href="#Rotate"><i><code><span data-if="hdevelop" style="display:inline">Rotate</span><span data-if="c" style="display:none">Rotate</span><span data-if="cpp" style="display:none">Rotate</span><span data-if="com" style="display:none">Rotate</span><span data-if="dotnet" style="display:none">rotate</span><span data-if="python" style="display:none">rotate</span></code></i></a>, <a href="#Move"><i><code><span data-if="hdevelop" style="display:inline">Move</span><span data-if="c" style="display:none">Move</span><span data-if="cpp" style="display:none">Move</span><span data-if="com" style="display:none">Move</span><span data-if="dotnet" style="display:none">move</span><span data-if="python" style="display:none">move</span></code></i></a>, and
<a href="#Scale"><i><code><span data-if="hdevelop" style="display:inline">Scale</span><span data-if="c" style="display:none">Scale</span><span data-if="cpp" style="display:none">Scale</span><span data-if="com" style="display:none">Scale</span><span data-if="dotnet" style="display:none">scale</span><span data-if="python" style="display:none">scale</span></code></i></a>, respectively, to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>. Instead of the pick points
and the two tangents, 3 symbols are displayed with the curve: a cross in the
middle and an arrow to the right if <a href="#Rotate"><i><code><span data-if="hdevelop" style="display:inline">Rotate</span><span data-if="c" style="display:none">Rotate</span><span data-if="cpp" style="display:none">Rotate</span><span data-if="com" style="display:none">Rotate</span><span data-if="dotnet" style="display:none">rotate</span><span data-if="python" style="display:none">rotate</span></code></i></a> is set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>,
and a double-headed arrow to the upper right if <a href="#Scale"><i><code><span data-if="hdevelop" style="display:inline">Scale</span><span data-if="c" style="display:none">Scale</span><span data-if="cpp" style="display:none">Scale</span><span data-if="com" style="display:none">Scale</span><span data-if="dotnet" style="display:none">scale</span><span data-if="python" style="display:none">scale</span></code></i></a> is set to
<i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>.
</p>
<p>You can
</p>
<ul>
<li>
<p> move the curve by clicking the left mouse button on the cross in
the center and then dragging it to the new position,
</p>
</li>
<li>
<p> rotate it by clicking with the left mouse button on the arrow and
then dragging it, till the curve has the right direction, and
</p>
</li>
<li>
<p> scale it by dragging the double arrow. To keep the ratio, the
parameter <a href="#KeepRatio"><i><code><span data-if="hdevelop" style="display:inline">KeepRatio</span><span data-if="c" style="display:none">KeepRatio</span><span data-if="cpp" style="display:none">KeepRatio</span><span data-if="com" style="display:none">KeepRatio</span><span data-if="dotnet" style="display:none">keepRatio</span><span data-if="python" style="display:none">keep_ratio</span></code></i></a> has to be set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>.
</p>
</li>
</ul>
<p>By pressing the Shift key again you can switch back to the edit mode.
Pressing the right mouse button terminates the procedure.
</p>
<p>The appearance of the curve while drawing is determined by the line width,
size, and color set via 该算子s <a href="set_color.html"><code><span data-if="hdevelop" style="display:inline">set_color</span><span data-if="c" style="display:none">set_color</span><span data-if="cpp" style="display:none">SetColor</span><span data-if="com" style="display:none">SetColor</span><span data-if="dotnet" style="display:none">SetColor</span><span data-if="python" style="display:none">set_color</span></code></a>, <a href="set_colored.html"><code><span data-if="hdevelop" style="display:inline">set_colored</span><span data-if="c" style="display:none">set_colored</span><span data-if="cpp" style="display:none">SetColored</span><span data-if="com" style="display:none">SetColored</span><span data-if="dotnet" style="display:none">SetColored</span><span data-if="python" style="display:none">set_colored</span></code></a>,
<a href="set_line_width.html"><code><span data-if="hdevelop" style="display:inline">set_line_width</span><span data-if="c" style="display:none">set_line_width</span><span data-if="cpp" style="display:none">SetLineWidth</span><span data-if="com" style="display:none">SetLineWidth</span><span data-if="dotnet" style="display:none">SetLineWidth</span><span data-if="python" style="display:none">set_line_width</span></code></a>, and <a href="set_line_style.html"><code><span data-if="hdevelop" style="display:inline">set_line_style</span><span data-if="c" style="display:none">set_line_style</span><span data-if="cpp" style="display:none">SetLineStyle</span><span data-if="com" style="display:none">SetLineStyle</span><span data-if="dotnet" style="display:none">SetLineStyle</span><span data-if="python" style="display:none">set_line_style</span></code></a>. The tangents and all
handles are displayed in the second color set by <a href="set_color.html"><code><span data-if="hdevelop" style="display:inline">set_color</span><span data-if="c" style="display:none">set_color</span><span data-if="cpp" style="display:none">SetColor</span><span data-if="com" style="display:none">SetColor</span><span data-if="dotnet" style="display:none">SetColor</span><span data-if="python" style="display:none">set_color</span></code></a> or
<a href="set_colored.html"><code><span data-if="hdevelop" style="display:inline">set_colored</span><span data-if="c" style="display:none">set_colored</span><span data-if="cpp" style="display:none">SetColored</span><span data-if="com" style="display:none">SetColored</span><span data-if="dotnet" style="display:none">SetColored</span><span data-if="python" style="display:none">set_colored</span></code></a>. Their line width is fixed to 1 and their line style is
fixed to a drawn-through line.</p>
<h2 id="sec_attention">注意</h2>
<p>In contrast to <a href="draw_nurbs.html"><code><span data-if="hdevelop" style="display:inline">draw_nurbs</span><span data-if="c" style="display:none">draw_nurbs</span><span data-if="cpp" style="display:none">DrawNurbs</span><span data-if="com" style="display:none">DrawNurbs</span><span data-if="dotnet" style="display:none">DrawNurbs</span><span data-if="python" style="display:none">draw_nurbs</span></code></a>, each point specified by the user
influences the whole curve. Thus, if one point is moved, the whole curve can
and will change. To minimize this effects, it is recommended to use a small
degree (3-5) and to place the points such that they are approximately equally
spaced. In general, uneven degrees will perform slightly better than even
degrees.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="ContOut" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ContOut</span><span data-if="c" style="display:none">ContOut</span><span data-if="cpp" style="display:none">ContOut</span><span data-if="com" style="display:none">ContOut</span><span data-if="dotnet" style="display:none">contOut</span><span data-if="python" style="display:none">cont_out</span></code></b> (output_object)  </span><span>xld_cont <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="c" style="display:none">Hobject *</span></span>
</div>
<p class="pardesc">Contour of the curve.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="WindowHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">WindowHandle</span><span data-if="c" style="display:none">WindowHandle</span><span data-if="cpp" style="display:none">WindowHandle</span><span data-if="com" style="display:none">WindowHandle</span><span data-if="dotnet" style="display:none">windowHandle</span><span data-if="python" style="display:none">window_handle</span></code></b> (input_control)  </span><span>window <code>→</code> <span data-if="dotnet" style="display:none"><a href="HWindow.html">HWindow</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Window handle.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Rotate" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Rotate</span><span data-if="c" style="display:none">Rotate</span><span data-if="cpp" style="display:none">Rotate</span><span data-if="com" style="display:none">Rotate</span><span data-if="dotnet" style="display:none">rotate</span><span data-if="python" style="display:none">rotate</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Enable rotation?</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'true'</span>
    <span data-if="c" style="display:none">"true"</span>
    <span data-if="cpp" style="display:none">"true"</span>
    <span data-if="com" style="display:none">"true"</span>
    <span data-if="dotnet" style="display:none">"true"</span>
    <span data-if="python" style="display:none">"true"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Move" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Move</span><span data-if="c" style="display:none">Move</span><span data-if="cpp" style="display:none">Move</span><span data-if="com" style="display:none">Move</span><span data-if="dotnet" style="display:none">move</span><span data-if="python" style="display:none">move</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Enable moving?</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'true'</span>
    <span data-if="c" style="display:none">"true"</span>
    <span data-if="cpp" style="display:none">"true"</span>
    <span data-if="com" style="display:none">"true"</span>
    <span data-if="dotnet" style="display:none">"true"</span>
    <span data-if="python" style="display:none">"true"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Scale" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Scale</span><span data-if="c" style="display:none">Scale</span><span data-if="cpp" style="display:none">Scale</span><span data-if="com" style="display:none">Scale</span><span data-if="dotnet" style="display:none">scale</span><span data-if="python" style="display:none">scale</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Enable scaling?</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'true'</span>
    <span data-if="c" style="display:none">"true"</span>
    <span data-if="cpp" style="display:none">"true"</span>
    <span data-if="com" style="display:none">"true"</span>
    <span data-if="dotnet" style="display:none">"true"</span>
    <span data-if="python" style="display:none">"true"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="KeepRatio" class="parname"><b><code><span data-if="hdevelop" style="display:inline">KeepRatio</span><span data-if="c" style="display:none">KeepRatio</span><span data-if="cpp" style="display:none">KeepRatio</span><span data-if="com" style="display:none">KeepRatio</span><span data-if="dotnet" style="display:none">keepRatio</span><span data-if="python" style="display:none">keep_ratio</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Keep ratio while scaling?</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'true'</span>
    <span data-if="c" style="display:none">"true"</span>
    <span data-if="cpp" style="display:none">"true"</span>
    <span data-if="com" style="display:none">"true"</span>
    <span data-if="dotnet" style="display:none">"true"</span>
    <span data-if="python" style="display:none">"true"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Degree" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Degree</span><span data-if="c" style="display:none">Degree</span><span data-if="cpp" style="display:none">Degree</span><span data-if="com" style="display:none">Degree</span><span data-if="dotnet" style="display:none">degree</span><span data-if="python" style="display:none">degree</span></code></b> (input_control)  </span><span>integer <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">The degree p of the NURBS curve.
Reasonable values are 3 to 5.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>3</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>2, 3, 4, 5</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>Degree &gt;= 2 &amp;&amp; Degree &lt;= 9</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ControlRows" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ControlRows</span><span data-if="c" style="display:none">ControlRows</span><span data-if="cpp" style="display:none">ControlRows</span><span data-if="com" style="display:none">ControlRows</span><span data-if="dotnet" style="display:none">controlRows</span><span data-if="python" style="display:none">control_rows</span></code></b> (output_control)  </span><span>coordinates.y-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Row coordinates of the control polygon.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ControlCols" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ControlCols</span><span data-if="c" style="display:none">ControlCols</span><span data-if="cpp" style="display:none">ControlCols</span><span data-if="com" style="display:none">ControlCols</span><span data-if="dotnet" style="display:none">controlCols</span><span data-if="python" style="display:none">control_cols</span></code></b> (output_control)  </span><span>coordinates.x-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Column coordinates of the control polygon.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Knots" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Knots</span><span data-if="c" style="display:none">Knots</span><span data-if="cpp" style="display:none">Knots</span><span data-if="com" style="display:none">Knots</span><span data-if="dotnet" style="display:none">knots</span><span data-if="python" style="display:none">knots</span></code></b> (output_control)  </span><span>real-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Knot vector.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Rows" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Rows</span><span data-if="c" style="display:none">Rows</span><span data-if="cpp" style="display:none">Rows</span><span data-if="com" style="display:none">Rows</span><span data-if="dotnet" style="display:none">rows</span><span data-if="python" style="display:none">rows</span></code></b> (output_control)  </span><span>coordinates.y-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Row coordinates of the points specified by the user.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Cols" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Cols</span><span data-if="c" style="display:none">Cols</span><span data-if="cpp" style="display:none">Cols</span><span data-if="com" style="display:none">Cols</span><span data-if="dotnet" style="display:none">cols</span><span data-if="python" style="display:none">cols</span></code></b> (output_control)  </span><span>coordinates.x-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Column coordinates of the points specified by the user.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Tangents" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Tangents</span><span data-if="c" style="display:none">Tangents</span><span data-if="cpp" style="display:none">Tangents</span><span data-if="com" style="display:none">Tangents</span><span data-if="dotnet" style="display:none">tangents</span><span data-if="python" style="display:none">tangents</span></code></b> (output_control)  </span><span>real-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Tangents specified by the user.</p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">draw_nurbs_interp</span><span data-if="c" style="display:none">draw_nurbs_interp</span><span data-if="cpp" style="display:none">DrawNurbsInterp</span><span data-if="com" style="display:none">DrawNurbsInterp</span><span data-if="dotnet" style="display:none">DrawNurbsInterp</span><span data-if="python" style="display:none">draw_nurbs_interp</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    , if the window is valid.
如有必要，将引发异常。</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="open_window.html"><span data-if="hdevelop" style="display:inline">open_window</span><span data-if="c" style="display:none">open_window</span><span data-if="cpp" style="display:none">OpenWindow</span><span data-if="com" style="display:none">OpenWindow</span><span data-if="dotnet" style="display:none">OpenWindow</span><span data-if="python" style="display:none">open_window</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="set_colored.html"><span data-if="hdevelop" style="display:inline">set_colored</span><span data-if="c" style="display:none">set_colored</span><span data-if="cpp" style="display:none">SetColored</span><span data-if="com" style="display:none">SetColored</span><span data-if="dotnet" style="display:none">SetColored</span><span data-if="python" style="display:none">set_colored</span></a></code>, 
<code><a href="set_line_width.html"><span data-if="hdevelop" style="display:inline">set_line_width</span><span data-if="c" style="display:none">set_line_width</span><span data-if="cpp" style="display:none">SetLineWidth</span><span data-if="com" style="display:none">SetLineWidth</span><span data-if="dotnet" style="display:none">SetLineWidth</span><span data-if="python" style="display:none">set_line_width</span></a></code>, 
<code><a href="set_draw.html"><span data-if="hdevelop" style="display:inline">set_draw</span><span data-if="c" style="display:none">set_draw</span><span data-if="cpp" style="display:none">SetDraw</span><span data-if="com" style="display:none">SetDraw</span><span data-if="dotnet" style="display:none">SetDraw</span><span data-if="python" style="display:none">set_draw</span></a></code>, 
<code><a href="set_insert.html"><span data-if="hdevelop" style="display:inline">set_insert</span><span data-if="c" style="display:none">set_insert</span><span data-if="cpp" style="display:none">SetInsert</span><span data-if="com" style="display:none">SetInsert</span><span data-if="dotnet" style="display:none">SetInsert</span><span data-if="python" style="display:none">set_insert</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="draw_xld.html"><span data-if="hdevelop" style="display:inline">draw_xld</span><span data-if="c" style="display:none">draw_xld</span><span data-if="cpp" style="display:none">DrawXld</span><span data-if="com" style="display:none">DrawXld</span><span data-if="dotnet" style="display:none">DrawXld</span><span data-if="python" style="display:none">draw_xld</span></a></code>, 
<code><a href="draw_nurbs.html"><span data-if="hdevelop" style="display:inline">draw_nurbs</span><span data-if="c" style="display:none">draw_nurbs</span><span data-if="cpp" style="display:none">DrawNurbs</span><span data-if="com" style="display:none">DrawNurbs</span><span data-if="dotnet" style="display:none">DrawNurbs</span><span data-if="python" style="display:none">draw_nurbs</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="draw_nurbs_interp_mod.html"><span data-if="hdevelop" style="display:inline">draw_nurbs_interp_mod</span><span data-if="c" style="display:none">draw_nurbs_interp_mod</span><span data-if="cpp" style="display:none">DrawNurbsInterpMod</span><span data-if="com" style="display:none">DrawNurbsInterpMod</span><span data-if="dotnet" style="display:none">DrawNurbsInterpMod</span><span data-if="python" style="display:none">draw_nurbs_interp_mod</span></a></code>, 
<code><a href="draw_nurbs.html"><span data-if="hdevelop" style="display:inline">draw_nurbs</span><span data-if="c" style="display:none">draw_nurbs</span><span data-if="cpp" style="display:none">DrawNurbs</span><span data-if="com" style="display:none">DrawNurbs</span><span data-if="dotnet" style="display:none">DrawNurbs</span><span data-if="python" style="display:none">draw_nurbs</span></a></code>, 
<code><a href="gen_contour_nurbs_xld.html"><span data-if="hdevelop" style="display:inline">gen_contour_nurbs_xld</span><span data-if="c" style="display:none">gen_contour_nurbs_xld</span><span data-if="cpp" style="display:none">GenContourNurbsXld</span><span data-if="com" style="display:none">GenContourNurbsXld</span><span data-if="dotnet" style="display:none">GenContourNurbsXld</span><span data-if="python" style="display:none">gen_contour_nurbs_xld</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
